/*
 * Copyright 2006 The Apache Software Foundation Licensed under the Apache
 * License, Version 2.0 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
 * or agreed to in writing, software distributed under the License is
 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

package org.apache.ibatis.ibator.internal.util.messages;

import java.text.MessageFormat;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

/**
 * @author Jeff Butler
 */
public class Messages
{
	private static final String BUNDLE_NAME = "org.apache.ibatis.ibator.internal.util.messages.messages"; //$NON-NLS-1$

	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
			.getBundle(BUNDLE_NAME);

	private Messages()
	{
	}

	public static String getString(String key)
	{
		try
		{
			return RESOURCE_BUNDLE.getString(key);
		}
		catch (MissingResourceException e)
		{
			return '!' + key + '!';
		}
	}

	public static String getString(String key, String parm1)
	{
		try
		{
			return MessageFormat.format(RESOURCE_BUNDLE.getString(key),
					new Object[]
					{ parm1 });
		}
		catch (MissingResourceException e)
		{
			return '!' + key + '!';
		}
	}

	public static String getString(String key, String parm1, String parm2)
	{
		try
		{
			return MessageFormat.format(RESOURCE_BUNDLE.getString(key),
					new Object[]
					{ parm1, parm2 });
		}
		catch (MissingResourceException e)
		{
			return '!' + key + '!';
		}
	}

	public static String getString(String key, String parm1, String parm2,
			String parm3)
	{
		try
		{
			return MessageFormat.format(RESOURCE_BUNDLE.getString(key),
					new Object[]
					{ parm1, parm2, parm3 });
		}
		catch (MissingResourceException e)
		{
			return '!' + key + '!';
		}
	}
}
